#pragma once                                   // 防止头文件被重复包含

#include <stdint.h>                            // 包含整数类型的头文件

#define  QMC5883L传感器地址    0x0D          // 定义QMC5883L传感器的I2C地址

enum qmc5883l_reg                              // 定义qmc5883l寄存器地址
{
    QMC5883L_X坐标低,
    QMC5883L_X坐标高,
    QMC5883L_Y坐标低,
    QMC5883L_Y坐标高,
    QMC5883L_Z坐标低,
    QMC5883L_Z坐标高,
    QMC5883L_状态,
    QMC5883L_T坐标低,
    QMC5883L_T坐标高,
    QMC5883L控制1,
    QMC5883L控制2,
    QMC5883L采样率,
    QMC5883L芯片ID = 13
};

typedef struct{                                 // 定义QMC5883L数据结构体
    int16_t x轴;
	int16_t y轴;
	int16_t z轴;
    float   方位角;
}t_sQMC5883L;                           

void qmc5883l_init(void);                       // 初始化QMC5883L传感器
void qmc5883l_read_xyz(t_sQMC5883L *p);         // 读取QMC5883L传感器的XYZ轴数据
void qmc5883l_fetch_azimuth(t_sQMC5883L *p);    // 计算QMC5883L传感器的方位角